/*
java.net.Socket;
此类实现客户端套接字
套接字：包含了IP地址和端口号的网络单位

java.net.ServerSocket;
此类实现客户端套接字
 */

public class TCPClient{

    public static void main(String[] args) throws IOException{
        Socket socket = new Socket("127.0.0.1//这里写连接的IP地址//",8888/*端口号*/);   //创建一个Socket对象绑定IP地址和端口
        OutputStream os = socket.getOutputStream();    //使用Socket方法获取网络字节输出流对象
        os.write("nihao".getBytes());                 //向服务器发送数据

        InputStream is = socket.getInputStream();       //使用socket中的方法获取网络字节输入流
        byte[] bytes = new byte[1024];
        int len = is.read(bytes);        //用read读取对象中的数据
        System.out.println(new String(bytes,0,len));

        socket.close();             //释放资源
    }

}



public class TCPServer{

    public static void main(String[] args) throws IOException{
        ServerSocket server = new ServerSocket(8888);      //这里是要和客户端同一个端口
        Socket socket = server.accept();        //使用方法accept获取请求对象Socket
        InputStream is = socket.getInputStream();       //使用socket中的方法获取网络字节输入流的对象
        byte[] bytes = new byte[1024];
        int len = is.read(bytes);        //用read读取对象中的数据
        System.out.println(new String(bytes,0,len));
        
        OutputStream os = socket.getOutputStream();     //使用socket中的方法获取网络字节输出流的对象
        os.write("shoudao".getBytes());

        socket.close();
        server.close();

    }

}